package tsp;

import java.util.ArrayList;

public class Instancia
{
	// Cantidad de ciudades
	private int n;
	
	// Matriz de distancias entre las ciudades
	private double[][] dist;
	
	// El constructor lee la matriz de distancias desde un archivo
	public Instancia(ArrayList<Double> arreglo, int cant) 
	{
		
		
		n = cant;
		dist = new double[n][n];
		
		
		for( int i=0; i< arreglo.size(); i=i+3)
		{
			
			int j = arreglo.get(i).intValue();
			int k = arreglo.get(i+1).intValue();
			double d = arreglo.get(i+2);
			
			
			dist[j][k] = d;
			dist[k][j] = d;
			
		}
		
		/*for (int i=0; i< dist.length; i++)
			for (int j=0 ; j < dist.length; j++)
				System.out.println(dist[i][j]);*/
	}
	
	

	// Cantidad de ciudades
	public int getCiudades()
	{
		return n;
	}
	
	// Distancia entre dos ciudades
	public double getDistancia(int i, int j)
	{
		if( i < 0 || i >= n || j < 0 || j >= n )
			throw new IllegalArgumentException();
		
		return dist[i][j];
	}
}
